package jgl.vajra.management.part.mine.contract;

import java.util.Map;

import io.reactivex.Observable;
import jgl.vajra.management.bean.CarDetailsBean;
import jgl.vajra.management.databinding.ActivityCarDetailsBinding;
import jgl.vajra.management.widget.mvvm.model.BaseModel;
import jgl.vajra.management.widget.mvvm.view.BaseMVVMView;
import jgl.vajra.management.widget.mvvm.viewmodel.BaseViewModel;

public class CarDetailsContract {
    public abstract static class Model extends BaseModel {
        public abstract Observable<CarDetailsBean> getCarDetailsData(Map<String, Object> map);

        public abstract Observable<Object> deleteCarData(Map<String, Object> map);

        public abstract Observable<String> modifyCarData(Map<String, Object> map);
    }

    public interface View extends BaseMVVMView {

        void onDetermine(String logo);

        void onResidentAddress(CarDetailsBean data);

        void onGunHead();

        void onImageView(int type);

        void returnCarDetailsData(CarDetailsBean data);

        void returnDeleteCarData();
    }

    public abstract static class ViewModel extends BaseViewModel<View, ActivityCarDetailsBinding, Model> {

        public abstract void getCarDetailsData(Map<String, Object> map);

        public abstract void deleteCarData(Map<String, Object> map);

        public abstract void modifyCarData(Map<String, Object> map);
    }
}
